﻿@namespace AntDesign
@inherits Input<string>
<!--TODO: minheight, maxheight, onResize-->

@{
    Dictionary<string, object> attributes =
        new Dictionary<string, object>()
        {
            { "onchange", CallbackFactory.Create(this, OnChangeAsync) },
            { "onblur", CallbackFactory.Create(this, OnBlurAsync) },
            { "oninput", CallbackFactory.Create(this, OnInputAsync) },
            { "onkeypress", CallbackFactory.Create(this, OnKeyPressAsync) },
            { "onkeyup", CallbackFactory.Create(this, OnKeyUpAsync) },
            { "onkeydown", CallbackFactory.Create(this, OnkeyDownAsync) },
            { "onfocus", CallbackFactory.Create(this, OnFocusAsync) },
            { "value", CurrentValueAsString },
            { "placeholder", Placeholder },
            { "id", Id },
            { "style", Style },
            { "class", ClassMapper.Class },
            { "disabled", Disabled },
                                    };

    if (Attributes != null)
    {
        Attributes.Keys.ForEach(key => { attributes[key] = Attributes[key]; });
    }
}

@if (Suffix != null)
{
    <span class=@($"{PrefixCls}-affix-wrapper {PrefixCls}-affix-wrapper-textarea-with-clear-btn")>
        <textarea @ref="Ref" @attributes="attributes" />
        @Suffix
    </span>
}
else
{
    <textarea @ref="Ref" @attributes="attributes" />
}

@if (AutoSize)
{
    <textarea class="@ClassMapper.Class" style="position: absolute;left:0; z-index: -1;visibility: hidden;height: 0px;overflow-y: hidden; @_hiddenWidth" @ref="_hiddenEle">@Value</textarea>
}